home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 2001-09-06 | 7.1 KB | 307 lines |
- Set Buffer 100
- Dim QST$(20),PPL$(20),FIL$(60)
- Gosub MAKEBUTTONS
-
- Gosub MAKEHUMPF
-
- Gosub MAKEHEADINGS
- Gosub MAKEZOMPF
- Gosub MAKEMISC
- End
- MAKEZOMPF:
- ZF=6
- SX=128*ZF : SY=32*ZF
- Gosub INITSCREEN
- Restore MAKEZOMPFDATA
- Do
- Read T$
- Exit If T$=""
- Read FS,F$,CO
- Screen 0
- Extension_8_1722 0,$FFF To 5,0
- Extension_8_1722 5,0 To 11,CO
- Extension_8_1722 11,CO To 16,$FFF
- Screen 1 : Get Palette 0
-
- Gosub PASTEX2B
- Gosub ANTIALIAS
- Screen 0 : Save Iff "DF�:TGI/!org/z_"+F$+".iff"
- Loop
- Return
- MAKEZOMPFDATA:
- Data "Mikroprogrammierung",84,"micro",$7FF
- Data "VHDL",220,"vhdl",$F7F
- Data "Maschinennahe|Programmierung",160,"intelsucks",$7F7
- Data ""
-
- MAKEHUMPF:
- ZF=6
- SX=160*ZF : SY=40*ZF
- Gosub INITSCREEN
- Restore MAKEHUMPFDATA
- Do
- Read T$
- Exit If T$=""
- Read FS,F$,CO
- Screen 0
- Extension_8_1722 0,$FFF To 5,0
- Extension_8_1722 5,0 To 11,CO
- Extension_8_1722 11,CO To 15,$FFF
- Colour 15,$F0F
- Screen 1 : Get Palette 0
-
- Gosub PASTEX3
- Gosub ANTIALIAS
- Screen 0 : Save Iff "DF�:TGI/!org/b_"+F$+".iff"
- Loop
- Return
- MAKEHUMPFDATA:
- Data "Mikroprogrammierung",112,"micro",$4CC
- Data "VHDL",300,"vhdl",$C4C
- Data "Maschinennahe|Programmierung",224,"intelsucks",$4C4
- Data ""
-
- MAKEBUTTONS:
- ZF=6
- SX=128*ZF : SY=32*ZF
- Gosub INITSCREEN
- Restore MAKEBUTTONSDATA
- Do
- Read T$
- Exit If T$=""
- Read FS,F$,CO
- Screen 0
- Extension_8_1722 0,$FFF To 5,0
- Extension_8_1722 5,0 To 11,CO
- Extension_8_1722 11,CO To 16,$FFF
- Screen 1 : Get Palette 0
-
- Gosub PASTEX2
- Gosub ANTIALIAS
- Screen 0 : Save Iff "DF�:TGI/!org/g_"+F$+".iff"
- Loop
- Return
- MAKEBUTTONSDATA:
- Data "Pflichtenheft",136,"dutiesb",$5DD
- Data "Spezifikation",136,"specsb",$4CC
- Data "Realisierung",136,"implb",$3BB
- Data "Benutzer-|dokumentation",168,"userdocsb",$2AA
- Data "Entwickler-|dokumentation",168,"devdocsb",$199
-
- Data "Pflichtenheft",136,"dutiesg",$5D5
- Data "Spezifikation",136,"specsg",$4C4
- Data "Realisierung",136,"implg",$3B3
- Data "Benutzer-|dokumentation",168,"userdocsg",$2A2
- Data "Entwickler-|dokumentation",168,"devdocsg",$191
-
- Data "Pflichtenheft",136,"dutiesm",$D5D
- Data "Spezifikation",136,"specsm",$C4C
- Data "Realisierung",136,"implm",$B3B
- Data "Benutzer-|dokumentation",168,"userdocsm",$A2A
- Data "Entwickler-|dokumentation",168,"devdocsm",$919
- Data ""
-
- MAKEHEADINGS:
- ZF=3
- SX=336*ZF : SY=48*ZF
- Gosub INITSCREEN
- Screen 0
- Extension_8_1722 0,$FFF To 5,0
- Extension_8_1722 5,0 To 11,$56F
- Extension_8_1722 11,$56F To 16,$FFF
- Screen 1 : Get Palette 0
- Restore MAKEHEADINGSDATA
- Do
- Read T$
- Exit If T$=""
- Read FS,F$
-
- Gosub PASTEX
- Gosub ANTIALIAS
- Screen 0 : Save Iff "DF�:TGI/!org/h_"+F$+".iff"
- Loop
-
- Return
- MAKEHEADINGSDATA:
- Data "TGI Praktikum",128,"tgi"
- 'Data "Pflichtenheft",128,"duties"
- 'Data "Spezifikation",128,"specs"
- 'Data "Realisierung",128,"impl"
- Data "Dokumentation",128,"docs"
- Data ""
-
- MAKEMISC:
- ZF=8
- SX=32*ZF : SY=24*ZF
- Gosub INITSCREEN
- Screen 0
- Extension_8_1722 0,$FFF To 15,$0
- Screen 1 : Get Palette 0
- Cls 0
- Ink 15 : Extension_8_05E6 SY,SY,SY
- Bar SY,0 To SX,SY
- Gosub ANTIALIAS
- Extension_8_1722 0,$FFF To 15,$FF0
- Screen 0 : Save Iff "DF�:TGI/!org/hcorner.iff"
- Return
-
- INITSCREEN:
- Screen Open 0,((SX/ZF)+15) and $FFF0,SY/ZF,16,0
- Curs Off : Flash Off : Paper 0 : Pen 1 : Cls
- Screen Open 1,SX,SY,16,$8004
- Curs Off : Flash Off : Paper 0 : Pen 1 : Cls
- Gr Writing 0
- Get Palette 0
- Reserve As Chip Work 666,63*1024
- Set Tempras 666,Length(666)
- Return
-
- PASTEX:
- Screen 1 : Screen To Front
- Cls 5
- Ink 11 : Extension_8_05E6 SY,SY,SY
- Bar SY,0 To SX,SY
- Extension_8_1016 0,SY-1 To SX-1,SY-1,5
- Extension_8_1016 0,SY-2 To SX-1,SY-2,5
- Extension_8_1016 SX-1,0 To SX-1,SY-1,5
- Extension_8_1016 SX-2,0 To SX-2,SY-1,5
-
- LI=Len(T$)-Len(T$-"|")+1
- If LI=1 Then T$=T$+"|"
- Extension_8_05B0 "CGTriumvirate",FS/LI
- For L=0 To LI-1
- X=SY/2 : Y=9+(128-FS)/2+(L*FS)/LI+Text Base
- For A=1 To 4
- Ink 5 : Text X+A,Y+A, Extension_8_16A4(T$,L)
- Next
- Ink 0 : Text X,Y, Extension_8_16A4(T$,L)
- Next
- Return
-
- PASTEX2:
- Screen 1 : Screen To Front
- If Length(9)=0
- Cls 5
- Ink 11 : Extension_8_05E6 SY/2,SY/2,SY/2
- ' Bar SY/2,0 To SX-SY/2,SY
- Bar 0,0 To SX-SY/2,SY
- Ink 11 : Extension_8_05E6 SX-SY/2,SY/2,SY/2
-
- Gosub TDBUT
- Spack 1 To 9
- Else
- Unpack 9 To 1
- Gr Writing 0
- Get Palette 0
- End If
- LI=Len(T$)-Len(T$-"|")+1
- If LI=1 Then T$=T$+"|"
- Extension_8_05B0 "CGTriumvirate",FS/LI
- For L=0 To LI-1
- TT$= Extension_8_16A4(T$,L)
- XX=Text Length(TT$)
- X=(SX-XX)/2 : Y=(SY-FS)/2-2+(L*FS)/LI+Text Base
- For A=0 To 1023 Step 32
- Ink 5 : Text X+ Extension_8_1114(A,8),Y+ Extension_8_1106(A,8),TT$
- Next
- Ink 0 : Text X,Y,TT$
- Next
- Return
-
- PASTEX2B:
- Screen 1 : Screen To Front
- If Length(10)=0
- Cls 5
- Ink 11 : Extension_8_05E6 SY/2,SY/2,SY/2
- Bar 0,0 To SX-SY/2,SY
- Extension_8_05E6 SX-SY/2,SY/2,SY/2
- Ink 5 : Extension_8_05E6 SY/2,SY/2,SY/4
- Bar SY/2,SY/4 To SX-SY/2,(SY*3)/4
- Extension_8_05E6 SX-SY/2,SY/2,SY/4
- Gosub TDBUT
- Spack 1 To 10
- Else
- Unpack 10 To 1
- Gr Writing 0
- Get Palette 0
- End If
- LI=Len(T$)-Len(T$-"|")+1
- If LI=1 Then T$=T$+"|"
- Extension_8_05B0 "CGTriumvirate",FS/LI
- For L=0 To LI-1
- TT$= Extension_8_16A4(T$,L)
- XX=Text Length(TT$)
- X=(SX-XX)/2 : Y=(SY-FS)/2-2+(L*FS)/LI+Text Base
- For A=0 To 1023 Step 32
- Ink 5 : Text X+ Extension_8_1114(A,8),Y+ Extension_8_1106(A,8),TT$
- Next
- Ink 0 : Text X,Y,TT$
- Next
- Return
-
- PASTEX3:
- Screen 1 : Screen To Front
- Cls 15
- Ink 11 : Extension_8_05E6 SY/2,SY/2,SY/2
- Bar SY/2,0 To SX-SY/2,SY
- Ink 11 : Extension_8_05E6 SX-SY/2,SY/2,SY/2
-
- LI=Len(T$)-Len(T$-"|")+1
- If LI=1 Then T$=T$+"|"
- Extension_8_05B0 "CGTriumvirate",FS/LI
- For L=0 To LI-1
- TT$= Extension_8_16A4(T$,L)
- XX=Text Length(TT$)
- X=(SX-XX)/2 : Y=(SY-FS)/2-2+(L*FS)/LI+Text Base
- For A=0 To 1023 Step 32
- Ink 5 : Text X+ Extension_8_1114(A,8),Y+ Extension_8_1106(A,8),TT$
- Next
- Ink 0 : Text X,Y,TT$
- Next
- Return
-
- TDBUT:
- ZFQ=ZF*ZF
- For Y=0 To SY-1
- For X=0 To SX-1
- If Extension_8_039E(X,Y)=11
- C=0
- For A=0 To ZFQ-1
- XX=X-ZF*2+ Extension_8_11B8(12)
- YY=Y-ZF*2+ Extension_8_11B8(12)
- Add C,-Min(Max( Extension_8_039E(XX,YY)-5,0),1)
- XX=X+ZF*2- Extension_8_11B8(12)
- YY=Y+ZF*2- Extension_8_11B8(12)
- Add C,Min(Max( Extension_8_039E(XX,YY)-5,0),1)
- Next
- Extension_8_0388 X,Y,11+(C*4)/ZFQ
- End If
- Next
- Next
- Return
-
- ANTIALIAS:
- Screen To Front 0
- ZFQ=ZF*ZF
- For Y=0 To SY-1 Step ZF
- For X=0 To SX-1 Step ZF
- Screen 1
- R=ZFQ/2 : G=ZFQ/2 : B=ZFQ/2
- P=0
- GV=$FFF-((((Y+YY)*15)+SY/2)/SY)*$111
- For YY=0 To ZF-1
- For XX=0 To ZF-1
- C=Colour(Max( Extension_8_039E(X+XX,Y+YY),0))
- If C=$F0F Then C=GV : Inc P
- Add R, Extension_8_03B2(C)
- Add G, Extension_8_03C0(C)
- Add B, Extension_8_03D0(C)
- Next
- Next
- MIX= Extension_8_0A0E(R/ZFQ,G/ZFQ,B/ZFQ)
- If P=ZFQ Then MIX=$F0F
- Screen 0
- Extension_8_0388 X/ZF,Y/ZF, Extension_8_1514(MIX,0 To 15)
- Next
- Next
- Return